package org.omg.GIOP;

//
// Union definition : TargetAddress
//
// @author OpenORB Compiler
//
public final class TargetAddress implements org.omg.CORBA.portable.IDLEntity {
	//
	// Union member _d
	//
	protected short __d;

	//
	// Union member object_key
	//
	protected byte[] _object_key;

	//
	// Union member profile
	//
	protected org.omg.IOP.TaggedProfile _profile;

	//
	// Union member ior
	//
	protected org.omg.GIOP.IORAddressingInfo _ior;

	//
	// Default constructor
	//
	public TargetAddress() {
	}

	//
	// Get discriminator value
	//
	public short discriminator() {
		return __d;
	}

	//
	// Set object_key value
	//
	public void object_key(byte[] value) {
		__d = (short) (org.omg.GIOP.KeyAddr.value);
		_object_key = value;
	}

	//
	// Get object_key value
	//
	public byte[] object_key() {
		return _object_key;
	}

	//
	// Set profile value
	//
	public void profile(org.omg.IOP.TaggedProfile value) {
		__d = (short) (org.omg.GIOP.ProfileAddr.value);
		_profile = value;
	}

	//
	// Get profile value
	//
	public org.omg.IOP.TaggedProfile profile() {
		return _profile;
	}

	//
	// Set ior value
	//
	public void ior(org.omg.GIOP.IORAddressingInfo value) {
		__d = (short) (org.omg.GIOP.ReferenceAddr.value);
		_ior = value;
	}

	//
	// Get ior value
	//
	public org.omg.GIOP.IORAddressingInfo ior() {
		return _ior;
	}

	//
	// default access
	//
	public void __default() {
	}
}
